{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "import synth\n",
      "\n",
      "CHUNK = 1024\n",
      "CHANNELS = 1\n",
      "RATE = 44100\n",
      "WIDTH = 2"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "DATASIZE = 50000\n",
      "frame = synth.synth_complex([200, 5000], [1,1], DATASIZE)\n",
      "\n",
      "signal = numpy.array(frame, dtype=float)\n",
      "# plot a part of it\n",
      "pylab.plot(signal[0:1000])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 66,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10d2b6f50>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10d30e3d0>"
       ]
      }
     ],
     "prompt_number": 66
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "rfft_signal = np.abs(np.fft.rfft(signal[0:CHUNK]))\n",
      "plot(rfft_signal)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 67,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10e27e710>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nIH1XbxxACAAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10d342f10>"
       ]
      }
     ],
     "prompt_number": 67
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import pyaudio\n",
      "import quietnet\n",
      "\n",
      "def play_frames(buffer, chunk, channels, framerate, sample_width):\n",
      "    frames = quietnet.pack_buffer(buffer)\n",
      "    p = pyaudio.PyAudio()\n",
      "    \n",
      "    stream = p.open(format=p.get_format_from_width(sample_width),\n",
      "                    channels=channels,\n",
      "                    rate=framerate,\n",
      "                    output=True)\n",
      "    for frame in frames:\n",
      "        stream.write(frame)\n",
      "        \n",
      "    stream.stop_stream()\n",
      "    stream.close()\n",
      "    p.terminate()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 73
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "DATASIZE = 500000\n",
      "frames = synth.synth_complex([17000], [1,1], DATASIZE)\n",
      "\n",
      "# actually play it\n",
      "play_frames(frames, CHUNK, CHANNELS, RATE, 2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 76
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}